package com.youka.bussiness.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Update;
import com.youka.bussiness.service.req.GoodsReqDto;
import com.youka.bussiness.service.req.GoodsUpdateDto;
import com.youka.bussiness.service.req.GoodsPageDto;
import com.youka.bussiness.service.res.GoodsDto;

import java.util.List;
import java.util.Map;

/**
 * 商品 Service接口
 *
 * @author lfc
 * @date 2024-06-30 16:47:29
 */
public interface GoodsService {

    /**
    * 查询详情
    *
    * @param id 查询参数
    * @return List
    */
    GoodsDto selectById(long  id);

    /**
     * 集合查询商品
     *
     * @param dto 查询参数
     * @return goodsPageDto
     */
    List<GoodsDto> selectByList(GoodsReqDto dto);
    /**
     * 分页查询商品
     *
     * @param dto 查询参数
     * @return goodsPageDto
     */
    IPage selectByPage(GoodsPageDto dto);

    /**
     * 新增商品
     *
     * @param dto 商品
     * @return 新增结果
     */
    void insert(GoodsReqDto dto);

        /**
        * 统计
         * @param dto
        * @return
        */
    GoodsDto selectCount(GoodsReqDto dto);

    /**
     * 更新商品
     * (根据主键)
     *
     * @param dto 商品
     * @return 更新结果
     */
    void update(GoodsUpdateDto dto);

    /**
     * 删除商品
     * (根据主键)
     *
     * @param id id
     * @return 删除结果
     */
    void deleteById(Integer id);

}
